package config

import (
	"log"
	"os"

	"github.com/joho/godotenv"
)

// Config 应用配置结构
type Config struct {
	ProxyAddr  string
	AccessID   string
	SecretKey  string
	ServerPort string
}

// Load 从.env文件加载配置
func Load() Config {
	// 加载.env文件
	err := godotenv.Load()
	if err != nil {
		log.Printf("警告: 未找到.env文件，将使用系统环境变量: %v", err)
	}

	// 读取环境变量，提供默认值
	return Config{
		ProxyAddr:  getEnv("PROXY_ADDR", "http://127.0.0.1:8899"),
		AccessID:   getEnv("ACCESS_ID", "AK20230629HENRRS"),
		SecretKey:  getEnv("SECRET_KEY", "d99b7a674c459896ea89b2dcf74d742f"),
		ServerPort: getEnv("SERVER_PORT", "8081"),
	}
}

// getEnv 读取环境变量，如果不存在则返回默认值
func getEnv(key, defaultValue string) string {
	value := os.Getenv(key)
	if value == "" {
		return defaultValue
	}
	return value
}
    